import { App } from "vue";
import { setupStore } from "../store";
import { router, setupRouter } from "../router";

const enableMock = import.meta.env.VITE_USE_MOCK as boolean;
const env = import.meta.env.PROD;

// 判断是否启用模拟服务器
if (env && enableMock) {
    import("~/mock/_mockProdServer").then(({ setupProdMockServer }) => {
        setupProdMockServer();
    });
}

export async function setupBootstrap(app: App) {
    // 设置应用程序的状态管理。这可能包括初始化状态、定义状态变更的规则等。
    await setupStore(app);

    // 设置应用程序的路由。这通常包括配置不同的路由路径和对应的组件。
    setupRouter(app);

    // 等待路由准备就绪。这通常用于确保在应用程序启动前，所有路由相关的数据和配置都已加载完成。
    await router.isReady();
}
